#include<stdio.h>
#include"linklist.h"
#include<stdlib.h>
// int main()
// {
//     struct LinkList list;
//     InitLinkList(&list);
//     for(int i=0;i<10;i++)
//     {
//         InsertTail(&list,i+1);
//     }
//     Travel(&list);
//     return 0;
// }

int main()
{
    struct LinkList list;
    InitLinkList(&list);
    // for(int i=0;i<10;i++)
    // {
    //     InsertTail(&list,i+1);
    // }
    // Travel(&list);
    InsertIndex(&list,100,0);
    Travel(&list);

    FreeLinkList(&list);
    return 0;
}

// int main()
// {
//     struct LinkList list;
//     InitLinkList(&list);
//     for(int i=0;i<10;i++)
//     {
//         InsertTail(&list,i+1);
//     }
//     Travel(&list);
//     InsertIndex(&list,100,2);
//     Travel(&list);

//     RemoveByIndex(&list,2);
//     Travel(&list);

//     FreeLinkList(&list);
//     return 0;
// }

// int main()
// {
//     struct LinkList list;
//     InitLinkList(&list);
//     for(int i=0;i<10;i++)
//     {
//         InsertTail(&list,i+1);
//     }

//     InsertIndex(&list,1,2);

//     InsertIndex(&list,1,0);
//     InsertIndex(&list,1,0);
//     InsertIndex(&list,1,0);
//     Travel(&list);

//     RemoveByElement(&list,1);
//     Travel(&list);
//     FreeLinkList(&list);
//     return 0;
// }

// int main()
// {
//     struct LinkList list;
//     InitLinkList(&list);
//     for(int i=0;i<10;i++)
//     {
//         InsertTail(&list,i+1);
//     }

//     InsertIndex(&list,1,2);

//     InsertIndex(&list,1,0);
//     InsertIndex(&list,1,0);
//     InsertIndex(&list,1,0);
//     Travel(&list);

//     RemoveByElement(&list,1);
//     Travel(&list);

//     int *find=FindByIndex(&list,0);
//     if(find!=NULL)
//         printf("%d\n",*find);

//     FreeLinkList(&list);
//     return 0;
// }

// int main()
// {
//     struct LinkList list;
//     InitLinkList(&list);
//     for(int i=0;i<10;i++)
//     {
//         InsertTail(&list,i+1);
//     }

//     InsertIndex(&list,1,2);

//     InsertIndex(&list,1,0);
//     InsertIndex(&list,1,0);
//     InsertIndex(&list,1,0);
//     Travel(&list);

//     int *find=FindByElement(&list,1);
//     if(find!=NULL)
//     {
//         int *temp=find;
//         while(*temp!=-1)
//         {
//             printf("%d ",*temp);
//             temp++;
//         }
//         printf("\n");
//         free(find);
//     }

//     FreeLinkList(&list);
//     return 0;
// }

// int main()
// {
//     struct LinkList list;
//     InitLinkList(&list);
//     for(int i=0;i<10;i++)
//     {
//         InsertTail(&list,i+1);
//     }

//     InsertIndex(&list,1,2);

//     InsertIndex(&list,1,0);
//     InsertIndex(&list,1,0);
//     InsertIndex(&list,1,0);
//     Travel(&list);

//     SetValueByElement(&list,1,-1);
//     Travel(&list);

//     FreeLinkList(&list);
//     return 0;
// }


// int main()
// {
//     struct LinkList list;
//     InitLinkList(&list);
//     for(int i=9;i>=0;i--)
//     {
//         InsertTail(&list,i+1);
//     }

//     Travel(&list);

//     BubbleSort(&list);
//     Travel(&list);

//     FreeLinkList(&list);
//     return 0;
// }

// int main()
// {
//     struct LinkList list;
//     InitLinkList(&list);
//     for(int i=9;i>=0;i--)
//     {
//         InsertTail(&list,i+1);
//     }

//     Travel(&list);

//     SetValueByElement(&list,1,-1);
//     Travel(&list);

//     BubbleSort(&list);
//     Travel(&list);

//     Reserve(&list);
//     Travel(&list);

//     FreeLinkList(&list);
//     return 0;
// }

// int main()
// {
//     struct LinkList list;
//     InitLinkList(&list);
//     for(int i=9;i>=0;i--)
//     {
//         InsertTail(&list,i+1);
//     }

//     Travel(&list);

//     SetValueByElement(&list,1,-1);
//     Travel(&list);

//     BubbleSort(&list);
//     Travel(&list);

//     Reserve(&list);
//     Travel(&list);

//     struct Node *newHead=Reserves2(list.head);
//     list.head=newHead;
//     Travel(&list);

//     FreeLinkList(&list);
//     return 0;
// }